package com.winit.openapi.chinapost.model;

import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;

/**
 * 
 * 清关详细对象
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * hou 	1.0  		2015-4-14 	Created
 *
 * </pre>
 * @since 1.
 */
@XmlRootElement
public class LogisticsDetail {
	
	/**
	 * 物流计划对象
	 */
	private List<LogisticsPlan> logisticsPlan;
	
	/**
	 * 交易订单ID 
	 */
	private Long tradeId;
	
	/**
	 * 物流订单号(suborder.orderno)
	 */
	private String orderCode;
	
	/**
	 * 失败原因简单描述
	 */
	private String remark;
	
	/**
	 * 订单异常简短描述（不能超过8个汉字）
                       入库异常的类型
		01：破损
		02：超规
		03：违禁
	 */
	private String remarkCode;
	
	/**
	 * CPCode
	 */
	private String carrierCode;
	
	/**
	 * 物流运单号
	 */
	private String mailNo;
	
	/**
	 * 时间;格式：yyyy-MM-dd HH:mm:ss
	 */
	private String occurtime;
	
	/**
	 * 订单总重量 单位: 克
	 */
	private Long totalWeight;
	
	/**
	 * 照片地址，用于破损包裹的拍照等
	 */
	private String imageURL;
	
	/**
	 * 订单计费类型  0：普  1：特,本项目缺省值0
	 */
	private String feeType;
	
	/**
	 * 订单调价 单位：分， 本项目缺省值0
	 */
	private Long adjustedFee;
	
	/**
	 * 是否有拆电池操作，true:有，false:无
	 */
	private Boolean hasBatteryOper;
	
	private String expectionCode;
	
	private String handleCode;
	
    
    public String getHandleCode() {
        return handleCode;
    }

    
    public void setHandleCode(String handleCode) {
        this.handleCode = handleCode;
    }



    public String getExpectionCode() {
        return expectionCode;
    }


    
    public void setExpectionCode(String expectionCode) {
        this.expectionCode = expectionCode;
    }


    public Long getTotalWeight() {
        return totalWeight;
    }

    
    public void setTotalWeight(Long totalWeight) {
        this.totalWeight = totalWeight;
    }

    public Long getTradeId() {
		return tradeId;
	}

	public void setTradeId(Long tradeId) {
		this.tradeId = tradeId;
	}

	public String getOrderCode() {
		return orderCode;
	}

	public void setOrderCode(String orderCode) {
		this.orderCode = orderCode;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getRemarkCode() {
		return remarkCode;
	}

	public void setRemarkCode(String remarkCode) {
		this.remarkCode = remarkCode;
	}

	public String getCarrierCode() {
		return carrierCode;
	}

	public void setCarrierCode(String carrierCode) {
		this.carrierCode = carrierCode;
	}

	public String getMailNo() {
		return mailNo;
	}

	public void setMailNo(String mailNo) {
		this.mailNo = mailNo;
	}

	public String getOccurtime() {
		return occurtime;
	}

	public void setOccurtime(String occurtime) {
		this.occurtime = occurtime;
	}

	@XmlElementWrapper(name="logisticsPlans")
	@XmlElement
	public List<LogisticsPlan> getLogisticsPlan() {
		return logisticsPlan;
	}

	public void setLogisticsPlan(List<LogisticsPlan> logisticsPlan) {
		this.logisticsPlan = logisticsPlan;
	}


	public String getImageURL() {
		return imageURL;
	}


	public void setImageURL(String imageURL) {
		this.imageURL = imageURL;
	}


	public String getFeeType() {
		return feeType;
	}


	public void setFeeType(String feeType) {
		this.feeType = feeType;
	}


	public Long getAdjustedFee() {
		return adjustedFee;
	}


	public void setAdjustedFee(Long adjustedFee) {
		this.adjustedFee = adjustedFee;
	}


	public Boolean getHasBatteryOper() {
		return hasBatteryOper;
	}


	public void setHasBatteryOper(Boolean hasBatteryOper) {
		this.hasBatteryOper = hasBatteryOper;
	}

}
